package com.longrise.android.byjk.plugins.aboutme.personalInfo;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.CountDownTimer;

import com.longrise.LEAP.Base.Objects.EntityBean;

/**
 * Created by callxkj on 2016/11/18.
 * Contract
 */

public class PersonalInfoContract {

    public interface View {

        void showToast(String msg);

        void setHeadIcon(String url, boolean isFrom);

        void setHeadUri(Uri uri, boolean isFrom);

        void setNickName(String nickName);

        void setUserName(String userName);

        void setTrueName(String tureName);

        void setIDNumber(String idNumber);

        void setPhoneNumber(String phoneNumber);

        void setZYXX(String zyxx);

        void setProfile(String profile);

        void setCPZS(String cpzs);

        void gotoModify(String name);

        void showLoading(boolean isLoading);

        void startActivityForR(Intent intent, int requestCode);

        void startActivityForR(int requestCode, Class<?> cls);

//        void setMyMedal(String msg);
        void setGRRY(String grry);

        void setWXURL(String wxurl);

        void setWXvisible(String wechatimgurl);
    }

    interface Presenter {

        void init();

        void changeNickName();

        void changeUserName();

        void changeTrueName(String from);

        void changeIDNumber(String from);

        void changePhoneNumber();

        void changeZYXX();

        void changeProfile();

        void changeCPZS();

        void toCamera(Context context,String iconType);

        void toGallery(Context context,String iconType);

        void openPersonalShow();

        void onActivityResult(int requestCode, int resultCode, Intent data);

//        void updateMyMedal();

        void setFinished();

        void changeGRRY();
    }

    public interface SettingPresenters {

        void init();

        void jumpPersion();

        void jumpZH();

        void jumpCache();

        void jumpSharebb();

        void jumpCheckUpdate();

        void jumpSuggest();

        void jupmAboutbb();

        void firstCheckUpdate();

        void exit();

        void colse();

        void onActivityResult(int requestCode, int resultCode, Intent data);

    }

    public interface SettingView {

        void setVersionCode(String code);

        void setTitle(String title);

        void close();

        void removeFromActivityUtils();

        void startActivityForR(Intent intent, int requestCode);

        void startActivityForR(int requestCode, Class<?> cls);

    }

    public interface SecurPresenters {

        void init();

        void jumpPassword();

        void jumpPhone();

        void wechatBundle();

        void jumpRunLogin();

        void close();

        void creataDilaog();

        void onActivityResult(int requestCode, int resultCode, Intent data);

    }

    public interface SecurView {

        void changePassword();

        void phoneBundle(String phone);

        void wechatBundle(String wechat);

        void runLoginPhone(String phone, String openState);

        void colse();

        void exit();

        void setTitle(String title);

        void startActivityForR(Intent intent, int requestCode);

        void startActivityForR(int requestCode, Class<?> cls);

        void toJump(Class<?> cls);

    }

    public interface OpenPresenters {

        void init();

        void toGetCode(String phone);

        void confirm(String phone, String code);

        void loginPhone();

    }

    public interface OpenLoginView {
        void setPhoneHint(String hint);

        void setCodeHint(String hint);

        void setTitle(String title);

        void setVftoNorm();

        void setCodeBtnStatus(boolean isClickable, String text, String textColor);

        void setConfrimBtnState(boolean isClick);

        void close(boolean state);

        void setLoginPhone(CharSequence params);

        void setRightText(String text);

        void isLoading(boolean isloading);

        boolean getIsJump();

        boolean getFrom();

        /**
         * 在没有积分情况时，开通快捷登录之后，OpenLoginActivity直接关闭，目前
         * 存在积分任务，不能直接关闭，故添加此方法修改页面状态
         */
        void updateContentState();

        CountDownTimer getTimer();
    }

    public interface IntegralPresenters {

        void init();

        void jumpEran();

        void jumpRule();

        void jumpExchange();

        void onActivityResult(int requestCode, int resultCode, Intent data);

    }

    public interface IntegralView {

        void setTitle(String title);

        void setIntegralNum(String integral);

        void isLoading(boolean isloading);

        void startActivityForR(Intent intent, int requestCode);

        void startActivityForR(int requestCode, Class<?> cls);

        void toJump(Class<?> cls);

    }

    public interface InteDetailPresenters {

        void init();

        void request(EntityBean bean);
    }

    public interface InteDetailView {

        void setTitle(String title);

        void set(EntityBean resultBean);

        boolean getDestory();

        void isLoading(boolean isloading);

    }

    public interface ReportPersenter {

        void init();

        void jumpReportRule();

    }

    public interface ReportView {

        void setTitle(String title);

        void setIntegralNum(String num);

        void setReport(String report);

        void isLoading(boolean isLoading);
    }

}

